package com.xzy.java.observer;

import lombok.extern.slf4j.Slf4j;

/**
 * Java自身对观察者模式的具体实现
 *
 * @author xzy.xiao
 * @date 2023/3/14  9:48
 */
@Slf4j
class Main {
    public static void main(String[] args) {
        // 事件源
        MyObservable observable = new MyObservable();

        // 事件监听器
        MyObserver observer = new MyObserver();

        // 在事件源上添加监听器
        observable.addObserver(observer);

        // 事件源对外发布通知
        for (int i = 0; i < 3; i++) {
            observable.setChanged();
            observable.notifyObservers(i);
        }
    }
}
